/*
 * ModMain.c
 *
 * Created: 23/03/2012 17:10:16
 *  Author: marionse
 */ 

#include "custom_type.h"
#include "AppDesc.h"

int main(void)
{
	ERetCode err_code = E_RET_SUCCESS; 
	
	// initialise les modules
	#ifdef HAVE_APP_PRE_INIT
		err_code = AppDescPreInit();
	#endif
	
	if( E_RET_SUCCESS == err_code )
	{
		err_code = ModCpuInit();			
	}
	if( E_RET_SUCCESS == err_code )
	{
		err_code = ModSysTimerInit();			
	}
	if( E_RET_SUCCESS == err_code )
	{
		err_code = ModRFInit();			
	}
	
	#ifdef MODFAM_H_
		if( E_RET_SUCCESS == err_code )
		{
			err_code = ModFamInit();			
		}
	#endif

	#ifdef MODLED_H_
		if( E_RET_SUCCESS == err_code )
		{
			err_code = ModLedInit();			
		}
	#endif // MODLED_H_

	#ifdef HAVE_APP_POST_INIT
		if( E_RET_SUCCESS == err_code )
		{
			err_code = AppDescPostInit();			
		}
	#endif
	
	
	// sequenceur basique
	while( err_code >= E_RET_SUCCESS )
	{
		#ifdef HAVE_APP_PRE_TICK
			err_code = AppDescPreTick();
		#endif
	
		if( E_RET_SUCCESS == err_code )
		{
			err_code = ModCpuTick();			
		}
/* VIDE POUR LE MOMENT		
		if( E_RET_SUCCESS == err_code )
		{
			err_code = ModSysTimerTick();			
		}
*/		
		if( E_RET_SUCCESS == err_code )
		{
			err_code = ModRFTick();			
		}
		#ifdef MODFAM_H_
			if( E_RET_SUCCESS == err_code )
			{
				err_code = ModFamTick();			
			}
		#endif

		#ifdef MODLED_H_
			if( E_RET_SUCCESS == err_code )
			{
				err_code = ModLedTick();			
			}
		#endif // MODLED_H_

		#ifdef HAVE_APP_POST_TICK
			if( E_RET_SUCCESS == err_code )
			{
				err_code = AppDescPostTick();			
			}
		#endif		
	}
}